u`
eLXgсFp.291uclock01.csv
Q[JKF̕`ijA`~̕`A̕`AʑJ Ȃ

p.292iConsoleNX̐ÓIvpeBƐÓI\bhj

EłɊwKÓI\bhWriteAWriteLineAReadLineɉĕ֗ȐÓI\bhAÓIvpeB񋟂ĂAR\[^IȎsEChEɂ邱Ƃł
Ebool CursorVisibleÓIvpeBFfalseݒ肷ƃJ[\ȂȂB`h~ɕ֗B
Estring TitleÓIvpeBFR\[ݒłB
Evoid SetWindowsSize(int,int)ÓI\bhFEBhE̕ƍ𕶎Ŏwł
EConsoleColor BackgroundColorÓIvpeBFConsoleColor񋓌^ŔwiFwłBFConsoleColor.Yellow
EConsoleColor ForegroundColorÓIvpeBFConsoleColor񋓌^ŕFwłB
Evoid Clear()ÓI\bhFĕ`悵Đݒ𔽉fisƕFEwiF̕ύXLɂȂj
Evoid SetCursolPosition(int,int)ÓI\bhFJ[\̈ʒuςBړ͕B
Ebool KeyAvailableÓIvpeBFL[ĂtrueɂȂ

p.291 clock01.cs

//p.291 clock01.cs
using System;
class clock01 {
    public static void Main() {
        int oldsecond = 0; //bςɏ̂Ō݂̕bcĂϐ
        Console.CursorVisible = false; //J[\
        Console.Title = "v"; //R\[̃^Cgw
        Console.SetWindowSize(12, 3); //\EBhȆ傫w
        Console.BackgroundColor = ConsoleColor.Yellow; //wiFF
        Console.ForegroundColor = ConsoleColor.Black; //F
        Console.Clear(); //wiF𔽉f
        DateTime mt; //t\̂̐
        while (true) { //[v
            mt = DateTime.Now; //݂̓t𓾂
            if (mt.Second == oldsecond) { //bςĂȂH
                continue; //ȉXLbvČJԂ𑱍s
            } else {
                oldsecond = mt.Second; //bςĂ̂ōXV
            }
            Console.SetCursorPosition(2, 1); //J[\ʒu(\Jnʒu)ύX
            Console.Write("{0:00}:{1:00}:{2:00}", mt.Hour, mt.Minute, mt.Second); //b\
            if (Console.KeyAvailable) { //ȂɂL[Ă
                break; //[v𔲂
            }
        }
    }
}

AWKFp.291 clock01.cs

EXgbvEHb`ɂ悤
EsƁu00:00:00v\ăJEgJn悤ɂ
Eݎł͂ȂA\10001b݂̃JE^ԂDateTime\̂̂TicksvpeB(long^)p悤
ENTicksmۂĂāAŐVTicksƂ̍p
E̍1000{ƕbɂȂ̂ŁA3600ŊƎԁA60Ŋ60Ŋ܂ŕA60Ŋ]ŕb

쐬

//AWKFp.291 clock01.cs
using System;
class clock01 {
    public static void Main() {
        int oldsecond = 0; //bςɏ̂Ō݂̕bcĂϐ
        Console.CursorVisible = false; //J[\
        Console.Title = "v"; //R\[̃^Cgw
        Console.SetWindowSize(12, 3); //\EBhȆ傫w
        Console.BackgroundColor = ConsoleColor.Yellow; //wiFF
        Console.ForegroundColor = ConsoleColor.Black; //F
        Console.Clear(); //wiF𔽉f
        DateTime st = DateTime.Now; //yǉzt\̂𐶐Jn̎m
        DateTime mt; //t\̂̐
        while (true) { //[v
            mt = DateTime.Now; //݂̓t𓾂
            int lap = (int)((mt.Ticks - st.Ticks) / 10000000L); //yǉzoߎԂ𓾂ĕbPʂɂ
            int Hour = lap / 3600; //yǉz𓾂 
            int Minute = lap / 60 % 60; //yǉz𓾂 
            int Second = lap % 60; //yǉzb𓾂
            if (Second == oldsecond) { //yύXzbςĂȂH
                continue; //ȉXLbvČJԂ𑱍s
            } else {
                oldsecond = Second; //yύXzbςĂ̂ōXV
            }
            Console.SetCursorPosition(2, 1); //J[\ʒu(\Jnʒu)ύX
            Console.Write("{0:00}:{1:00}:{2:00}", Hour, Minute, Second); //yύXzb\
            if (Console.KeyAvailable) { //ȂɂL[Ă
                break; //[v𔲂
            }
        }
    }
}

AWKFp.291 clock01.cs

E~b܂ł̃XgbvEHb`ɂ悤
EsƁu00:00:00.000v\ăJEgJn悤ɂ
ENTicksTicksƂ̍1{ƃ~bɂȂ̂ŁA3600000ŊƎԁA60000Ŋ60Ŋ]ŕA1000Ŋ60Ŋ]ŕbA1000Ŋ]Ń~b

쐬

//AWKFp.291 clock01.cs
using System;
class clock01 {
    public static void Main() {
        int oldmsecond = 0; //yύXz~bςɏ̂Ō݂̃~bcĂϐ
        Console.CursorVisible = false; //J[\
        Console.Title = "v"; //R\[̃^Cgw
        Console.SetWindowSize(16, 3); //yύXz\EBhȆ傫w
        Console.BackgroundColor = ConsoleColor.Yellow; //wiFF
        Console.ForegroundColor = ConsoleColor.Black; //F
        Console.Clear(); //wiF𔽉f
        DateTime st = DateTime.Now; //t\̂𐶐Jn̎m
        DateTime mt; //t\̂̐
        while (true) { //[v
            mt = DateTime.Now; //݂̓t𓾂
            int lap = (int)((mt.Ticks - st.Ticks) / 10000L); //yύXzoߎԂ𓾂ă~bPʂɂ
            int Hour = lap / 3600000; //yύXz𓾂 
            int Minute = lap / 60000 % 60; //yύXz𓾂
            int Second = lap / 1000 % 60; //yύXzb𓾂
            int MSecond = lap % 1000; //yǉz~b𓾂
            if (MSecond == oldmsecond) { //yύXz~bςĂȂH
                continue; //ȉXLbvČJԂ𑱍s
            } else {
                oldmsecond = MSecond; //yύXz~bςĂ̂ōXV
            }
            Console.SetCursorPosition(2, 1); //J[\ʒu(\Jnʒu)ύX
            Console.Write("{0:00}:{1:00}:{2:00}.{3:000}", Hour, Minute, Second, MSecond); //yύXzb~b\
            if (Console.KeyAvailable) { //ȂɂL[Ă
                break; //[v𔲂
            }
        }
    }
}

p.294 K qg

EvpeBɂ鐧Ȃ̂ŁANXł̃G[\͕sviȂmainŁj
E͐̐Ȃ̂ŁA\̂̃f[^ǒ^uint^ɂƗǂ
EێłȂ悤ɂɂ́Af[^oւ̒ڃANZX֎~邽privateɂ
Ẽf[^ovpeB`Asetɂvalue̒l`FbNĂ
Eget͒ʏ`ŗǂ

쐬

//p.294 K
using System;
struct MyStruct { //\̂̒`
    private uint x; //ێłȂ悤ɂ邽߂ɒڗp֎~
    public uint X { //vpeB
        get { return x; }
        set { if (value % 2 == 0) x = value; } //Ȃi[ł
    }
}
class ex11 {
    public static void Main() {
        MyStruct ms = new MyStruct(); //\̕ϐ̐錾ƍ\̃IuWFNg̐inewsvj
        Console.Write("̐F"); uint n = uint.Parse(Console.ReadLine());
        ms.X = n; //vpeBoRő
        Console.WriteLine((n == ms.X) ? "i[ł܂" : "i[ł܂"); //vpeBoRœĔr
    }
}

eLXgю\Fp.295ufQ[gƂ́v

Q[JKF̕`ij

otH[FK12 Ίp`

EʏɍォE֐ԐF10̐`
EʏɉEォ獶։F20̐`

쐬

//K12 Ίp`
using System; //tH[AvP[VɕK{
using System.Windows.Forms; //tH[AvP[VɕK{
using System.Drawing; //Imagep
class Program : Form { //FormNXp
    Image backb = Image.FromFile("backb.bmp"); //wi摜̓Ǎ
    Image enemy = Image.FromFile("enemy.gif"); //ACe摜̓Ǎ
    Image burn = Image.FromFile("burn.gif"); //ʗp摜̓Ǎ
    Pen red10 = new Pen(Color.Red, 10); //yǉzy(ԁA10)𐶐
    Pen yel20 = new Pen(Color.Yellow, 20); //yǉzy(A20)𐶐
    protected override void OnPaint(PaintEventArgs e) { //Form̃\bhI[o[Ch
        base.OnPaint(e); //܂AFormNXɂ郁\bh̓e({ĕ`揈)s
        e.Graphics.DrawImage(backb, 0, 0); //wi摜(0,0)`
        e.Graphics.DrawLine(red10, 0, 0, backb.Width - 1, backb.Height - 1); //yǉzォE֐ԐF10̐`
        e.Graphics.DrawLine(yel20, backb.Width - 1, 0, 0, backb.Height - 1); //yǉzォE։F20̐`
        int mx = backb.Width / 2, my = backb.Height / 2; //W𓾂
        e.Graphics.DrawImage(enemy, mx - enemy.Width / 2, my - enemy.Height / 2); //ACe摜𒆉ɕ`
        e.Graphics.DrawImage(burn, mx - burn.Width / 2, my - burn.Height / 2); //ACe摜𒆉ɕ`
    }
    void OnKeyDown(object o, KeyEventArgs e) { //L[{[hꂽɌĂ΂郁\bh
        if(e.KeyCode.ToString() == "Escape") { //EscL[ꂽ
            Close(); //tH[AvP[VI
        }
    }
    Program() { //RXgN^
        KeyDown += new KeyEventHandler(OnKeyDown); //L[{[hꂽɌĂ΂郁\bho^
    }
    static void Main() { //public̎w͔C
        Program p = new Program(); //ptH[̃CX^X𐶐
        p.Width = 660; //CX^XWidthvpeBɕ
        p.Height = 520; //CX^XHeightvpeBɍ
        p.Text = "Game"; //CX^XTextvpeBɃtH[
        p.ControlBox = false; //ControlBox\ɂ
        p.FormBorderStyle = FormBorderStyle.Fixed3D; //tH[TCYύX֎~
        Application.Run(p); //CX^Xʂɏo
    }
}

e[}15 PenNX̃vpeB

EPenIuWFNǵAColorvpeBŐFύXł
E܂AWidthvpeBőύXł
EāAς݂PenIuWFNg͎g܂킵\

K13 Ίp`E

EPenIuWFNgP݂̂ɂ悤

쐬

//K13 Ίp`E
using System; //tH[AvP[VɕK{
using System.Windows.Forms; //tH[AvP[VɕK{
using System.Drawing; //Imagep
class Program : Form { //FormNXp
    Image backb = Image.FromFile("backb.bmp"); //wi摜̓Ǎ
    Image enemy = Image.FromFile("enemy.gif"); //ACe摜̓Ǎ
    Image burn = Image.FromFile("burn.gif"); //ʗp摜̓Ǎ
    Pen mypen = new Pen(Color.Red, 10); //yύXzy𐶐(l͐ԁA10)
    protected override void OnPaint(PaintEventArgs e) { //Form̃\bhI[o[Ch
        base.OnPaint(e); //܂AFormNXɂ郁\bh̓e({ĕ`揈)s
        e.Graphics.DrawImage(backb, 0, 0); //wi摜(0,0)`
        e.Graphics.DrawLine(mypen, 0, 0, backb.Width - 1, backb.Height - 1); //yύXzォE֐ԐF10̐`
        mypen.Color = Color.Yellow; //yǉzyFF
        mypen.Width = 20;  //yǉzy20
        e.Graphics.DrawLine(mypen, backb.Width - 1, 0, 0, backb.Height - 1); //yύXzォE։F20̐`
        int mx = backb.Width / 2, my = backb.Height / 2; //W𓾂
        e.Graphics.DrawImage(enemy, mx - enemy.Width / 2, my - enemy.Height / 2); //ACe摜𒆉ɕ`
        e.Graphics.DrawImage(burn, mx - burn.Width / 2, my - burn.Height / 2); //ACe摜𒆉ɕ`
    }
    void OnKeyDown(object o, KeyEventArgs e) { //L[{[hꂽɌĂ΂郁\bh
        if(e.KeyCode.ToString() == "Escape") { //EscL[ꂽ
            Close(); //tH[AvP[VI
        }
    }
    Program() { //RXgN^
        KeyDown += new KeyEventHandler(OnKeyDown); //L[{[hꂽɌĂ΂郁\bho^
    }
    static void Main() { //public̎w͔C
        Program p = new Program(); //ptH[̃CX^X𐶐
        p.Width = 660; //CX^XWidthvpeBɕ
        p.Height = 520; //CX^XHeightvpeBɍ
        p.Text = "Game"; //CX^XTextvpeBɃtH[
        p.ControlBox = false; //ControlBox\ɂ
        p.FormBorderStyle = FormBorderStyle.Fixed3D; //tH[TCYύX֎~
        Application.Run(p); //CX^Xʂɏo
    }
}

oFK13 Ίp`E

Q[JK\F`~̕`A̕`AʑJ Ȃ
